package br.com.dwii.tpg2.entidade;

import br.com.dwii.tpg2.util.DBUtil;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.util.logging.Level;
import java.util.logging.Logger;

/**
 *
 * @author Diego
 */
public class Responsavel {
    
    private Long id;
    private String nome;
    private String cpf;
    private Long idUf;
    private Long idCidade;

    public String getCpf() {
        return cpf;
    }

    public void setCpf(String cpf) {
        this.cpf = cpf;
    }

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public Long getIdCidade() {
        return idCidade;
    }

    public void setIdCidade(Long idCidade) {
        this.idCidade = idCidade;
    }

    public Long getIdUf() {
        return idUf;
    }

    public void setIdUf(Long idUf) {
        this.idUf = idUf;
    }

    public String getNome() {
        return nome;
    }

    public void setNome(String nome) {
        this.nome = nome;
    }
    
    public Long save() throws SQLException {
        Connection conn = DBUtil.getConnection();
        PreparedStatement ps = null;
        Long ret = 0L;
        try {
            ps = conn.prepareStatement("insert into responsavel (nome, cpf, uf, cidade) values(?, ?, ?, ?)");
            ps.setString(1, this.nome.toUpperCase());
            ps.setString(2, this.cpf);
            ps.setLong(3, this.idUf);
            ps.setLong(4, this.idCidade);
            ps.executeUpdate();
            ret = DBUtil.lastInsertedId("responsavel");
        } catch (SQLException ex) {
            Logger.getLogger(Responsavel.class.getName()).log(Level.SEVERE, null, ex);
            throw ex;
        } finally {
            ps.close();
            conn.close();
        }
        return ret;
    }
}
